﻿namespace Xenta.Entities
{
    /// <summary>
    /// Represents the order attribute entity.
    /// </summary>
    /// <remarks>
    /// The discriminator is "ORDER".
    /// </remarks>
    /// <remarks><pre>
    /// The dynamic object regarding the disclosure level.
    /// 
    /// + Entire
    ///  + Extended
    ///   + Base
    ///    | - Value
    ///    | - UpdatedOn
    ///    | - CreatedOn
    ///    + Keys
    ///     | - HolderID
    ///     | - Key
    ///     + Primary
    ///      | - EntityID
    /// 
    /// Note: upper level includes lower level.
    /// </pre></remarks>
    public class OrderAttributeEntity : GenericAttributeEntity
    {
    }

    /// <summary>
    /// The entity NHibernate mapper.
    /// </summary>
    public class OrderAttributeMapping : SubEntityMapping<OrderAttributeEntity>
    {
        #region Constants

        /// <summary>
        /// The value to be used as the generic attribute entity discriminator.
        /// </summary>
        public const string DISCRIMINATOR = "ORDER";

        #endregion

        #region Ctors

        /// <summary>
        /// Initializes a new class instance.
        /// </summary>
        public OrderAttributeMapping()
        {
            DiscriminatorValue(DISCRIMINATOR);
        }

        #endregion
    }
}
